package com.sicheng.蓝桥.练习题;

import java.util.Scanner;

/**
 * @author zsc
 * @version 1.0
 * @date 2022/4/7 22:06
 */
public class 连号区间数 {
    /*
     * 小明这些天一直在思考这样一个奇怪而有趣的问题：
     * 在1~N的某个全排列中有多少个连号区间呢？这里所说的连号区间的定义是：
     * 如果区间[L, R] 里的所有元素（即此排列的第L个到第R个元素）递增排序后能得到一个长度为R-L+1的“连续”数列，则称这个区间连号区间。
     * 当N很小的时候，小明可以很快地算出答案，但是当N变大的时候，问题就不是那么简单了，现在小明需要你的帮助。
     * 输入 每个测试点（输入文件）存在多组测试数据。
     * 每个测试点的第一行为一个整数Task，表示测试数据的组数。
     * 在一组测试数据中：
     *
     * 第一行是一个正整数N (1 <= N <= 10000), 表示全排列的规模。
     * 第二行是N个不同的数字Pi(1 <= Pi <= N)， 表示这N个数字的某一全排列。
     * 输出 输出一个整数，表示不同连号区间的数目。
     */
    public static void main(String[] args) {
        // 4
        // 4 2 3 1
        // 输出 8
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int count = 0;
        int[] nums = new int[n];
        for (int i = 0; i < n; i++) {
            nums[i] = scanner.nextInt();
        }
        for (int i = 0; i < n; i++) {
            int max = nums[i];
            int min = nums[i];
            for (int j = i; j < n; j++) {
                //保存 [i,j] 的最大值和最小值
                max = Math.max(nums[j], max);
                min = Math.min(nums[j], min);
                if (max - min == j - i)//区间内连续
                    count++;
            }
        }
        System.out.println(count);
    }
}
